home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 2 / CU Amiga Magazine's Super CD-ROM 02 (1996)(EMAP Images)(GB)[!][issue 1996-04].iso / magazine / amiga_e / capus2 / eshell / sources / lc.e < prev   
Text File  |  1995-03-24  |  4KB  |  128 lines

  1. ENUM    C_ASS,
  2.         C_CHANGEDPS,
  3.         C_CD,
  4.         C_DELAY,
  5.         C_DEL,
  6.         C_D,
  7.         C_EXECUTE,
  8.         C_FULLSIZE,
  9.         C_LISTCOM,
  10.         C_MDIR,
  11.         C_MEM,
  12.         C_PSLIST,
  13.         C_PCDIR,
  14.         C_QHELP,
  15.         C_RESET,
  16.         C_SYSLIST,
  17.         C_SETCOM
  18.  
  19. CONST MAX_COMMAND=17
  20.  
  21. OBJECT ecom
  22.     name:LONG
  23.     version:LONG
  24.     revision:LONG
  25.     template:LONG
  26.     help:LONG
  27.     author:LONG
  28. ENDOBJECT
  29.  
  30. DEF commandlist[MAX_COMMAND]:ARRAY OF LONG
  31.  
  32. /*"p_InitCommandList()"*/
  33. PROC p_InitCommandList()
  34.     commandlist[C_ASS]:=['ASS',0,0,'Nom,Dossier,Add/S,Late/S,Remove/S,V=VolList/S,D=DevList/S,A=AssList/S',0,'(ß version NasGûl)']
  35.     commandlist[C_CHANGEDPS]:=['CHANGEDPS',0,1,'Nom,info/S',0,'NasGûl']
  36.     commandlist[C_CD]:=['CD',0,1,'Dossier',0,'NasGûl']
  37.     commandlist[C_DELAY]:=['DELAY',0,1,'Temps/N',0,'NasGûl']
  38.     commandlist[C_DEL]:=['DEL',0,1,'File,Dirs/S,Files/S,All/S,Write/S',0,'NasGûl']
  39.     commandlist[C_D]:=['D',0,0,'Dir,Dirs/S,Files/S,All/S,To/K',0,'Distribution AmigaE 2.1']
  40.     commandlist[C_EXECUTE]:=['EXECUTE',0,0,'Script',0,'NasGûl']
  41.     commandlist[C_FULLSIZE]:=['FULLSIZE',0,1,'Dossier',0,'NasGûl']
  42.     commandlist[C_LISTCOM]:=['LISTCOM',0,0,'',0,'NasGûl']
  43.     commandlist[C_MDIR]:=['MDIR',0,1,'Dossier',0,'NasGûl']
  44.     commandlist[C_MEM]:=['MEM',0,1,'Adr',0,'Distribution AmigaE 2.1']
  45.     commandlist[C_PSLIST]:=['PSLIST',0,1,'',0,'NasGûl']
  46.     commandlist[C_PCDIR]:=['PCDIR',0,1,'Dir,Dirs/S,Files/S,All/S,NoIcon/S,To/K',0,'NasGûl']
  47.     commandlist[C_QHELP]:=['QHELP',0,1,'',0,'NasGûl']
  48.     commandlist[C_RESET]:=['RESET',0,0,'',0,'NasGûl']
  49.     commandlist[C_SYSLIST]:=['SYSLIST',0,1,'T=Task/S,L=Library/S,D=Device/S,P=Port/S,W=Window/S,M=Memory/S',0,'NasGûl']
  50.     commandlist[C_SETCOM]:=['SETCOM',0,1,'Fichier,C=Commentaire/K,Files/S,Dirs/S,All/S',0,'NasGûl']
  51. ENDPROC
  52. /**/
  53. /*"lookinternalcommand(s)"*/
  54. PROC lookinternalcommand(s,is) HANDLE
  55.     DEF ret=FALSE,i,cn:PTR TO ecom,test,cs[80]:STRING
  56.     IF StrCmp('\n',s,1) 
  57.         updateprompt(0)
  58.         ret:=TRUE;JUMP internalend
  59.     ENDIF
  60.     FOR i:=0 TO MAX_COMMAND-1
  61.         cn:=commandlist[i]
  62.         StrCopy(cs,cn.name,ALL)
  63.         IF test:=StrCmp(cs,s,EstrLen(cs))
  64.             SELECT i
  65.                 CASE C_ASS
  66.                     ass(is)
  67.                     ret:=TRUE;JUMP internalend
  68.                 CASE C_CHANGEDPS
  69.                     changedps(is)
  70.                     ret:=TRUE;JUMP internalend
  71.                 CASE C_CD
  72.                     cd(is)
  73.                     ret:=TRUE;JUMP internalend
  74.                 CASE C_DELAY
  75.                     delay(is)
  76.                     ret:=TRUE;JUMP internalend
  77.                 CASE C_DEL
  78.                     del(is)
  79.                     ret:=TRUE;JUMP internalend
  80.                 CASE C_D
  81.                     IF Not(StrCmp('DIR',s,3))   /* For AmigaDos Dir Command */
  82.                         d(is)
  83.                         ret:=TRUE;JUMP internalend
  84.                     ENDIF
  85.                 CASE C_EXECUTE
  86.                     NOP
  87.                 CASE C_FULLSIZE
  88.                     fullsize(is)
  89.                     ret:=TRUE;JUMP internalend
  90.                 CASE C_LISTCOM
  91.                     listcom()
  92.                     ret:=TRUE;JUMP internalend
  93.                 CASE C_MDIR
  94.                     mdir(is)
  95.                     ret:=TRUE;JUMP internalend
  96.                 CASE C_MEM
  97.                     mem(is)
  98.                     ret:=TRUE;JUMP internalend
  99.                 CASE C_PSLIST
  100.                     pslist()
  101.                     ret:=TRUE;JUMP internalend
  102.                 CASE C_PCDIR
  103.                     pcdir(is)
  104.                     ret:=TRUE;JUMP internalend
  105.                 CASE C_QHELP
  106.                     qhelp()
  107.                     ret:=TRUE;JUMP internalend
  108.                 CASE C_RESET
  109.                     reset()
  110.                     ret:=TRUE;JUMP internalend
  111.                 CASE C_SYSLIST
  112.                     syslist(is)
  113.                     ret:=TRUE;JUMP internalend
  114.                 CASE C_SETCOM
  115.                     setcom(is)
  116.                     ret:=TRUE;JUMP internalend
  117.             ENDSELECT
  118.         ENDIF
  119.     ENDFOR
  120.     internalend:
  121. EXCEPT
  122.     IF exception<>0 THEN ret:=TRUE
  123.     PrintFault(exception,NIL)
  124.     /*WriteF('>> \s\n',Fault(exception))*/
  125. ENDPROC ret
  126. /**/
  127.  
  128.